package com.lotus.lqmp.service.facade;

import com.lotus.lqmp.service.common.annotations.CostTimeRecord;
import com.lotus.lqmp.service.sdk.api.XXXApi;
import com.lotus.lqmp.service.sdk.api.YYYApi;
import com.lotus.lqmp.service.sdk.dto.req.XXXReqDTO;
import com.lotus.lqmp.service.sdk.dto.resp.XXXRespDTO;
import com.lotus.platform.common.utils.CommonUtils;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

/**
 * 使用FeignClient通过nacos或域名/ip调用第三方接口的防腐层
 * 注意：此处以自己的sdk包里的FeignClient和DTO为例，实际使用时应该从服务提供方的sdk包里引用
 * @author Liwei.Zhang3
 * @since 2022/03/17 09:12
 */
@Slf4j
@Service
@CostTimeRecord
public class XXXFeignFacade {

    @Autowired
    private XXXApi xxxApi;

    @Autowired
    private YYYApi yyyApi;

    public XXXRespDTO echo(XXXReqDTO reqDTO) {
        return CommonUtils.unWrapper(xxxApi.echo(reqDTO));
    }
}
